Computer vision is a huge and complex field that aims to simulate the human vision in order to perceive and interpret an object or scene. This perception task traditionally provides a bi-dimensional representation of the world. Human vision, on the other hand, is more complex and is able to retrieve information from the depths of a scene.
Three-dimensional quality control is a very important topic in computer vision. In order to detect errors on the analyzed surface, it is compared to a reference surface. The main problem is that both surfaces are not represented in the same coordinate frame. In this case, surfaces cannot be directly compared. To solve said problem, registration techniques (in computer vision, the techniques that align partial acquisitions are known as registration techniques) can be used to align both surfaces. This set of techniques determines the Euclidean motion between two sets of three-dimensional points. Registration (or aligning) is an interesting topic and actually the natural evolution of three-dimensional acquisition to explore techniques to achieve complete acquisitions of complex objects. In visual inspection tasks, the object must be aligned to the model before comparing them. This process can be applied to many industrial applications.
Most registration algorithms are based on the minimization of the distance between points of both surfaces. However, in order to increase the aligning accuracy, point-to-plane distance is used instead of traditional point-to-point. Point to plane distance is the distance between a point of the first surface (real or scan surface) and a local planar approximation in the second one (reference or model surface).
In 1991, Chen [Chen and Medioni, 1991] proposed an alternative to the point-to-point (ICP-Iterative Closest Point) algorithm, which was based on minimizing the distance between points and planes. The minimization function was selected to be the distances between points in the first image with respect to tangent planes in the second. That is, considering a point in the first image, the intersection of the normal vector at this point with the second surface determines a second point in which the tangent plane is computed.
A new algorithm to find these intersections between lines and range images was proposed, bearing in mind that the intersection of a given line with a cloud of points requires a high computational cost. A more accurate technique to find such a distance was proposed by Gagnon [Gagnon et al. 1994].
Finally, once the distances between points and planes were obtained, the motion that minimizes these distances was estimated by least squares. The process was repeated until convergence was attained.
In 2001, Rusinkiewick [Rusinkiewick and Levoy, 2001] presented several variations of this algorithm to improve the precision of it. The author proposed the “Normal Space Sampling”. The main idea is to select more points in the region where the normal is different from the other parts of the surface. Using this sampling technique better results are obtained in low shaped surfaces.
In 2003, Park [Park and Subbarao, 2003] proposed a fast variant based on recursively computing the intersection between the line and the three-dimensional surface. This technique is based on an iterative point-to-projection, obtaining fast and accurately results.
Point-to-plane distance is normally more difficult to compute than point-to-point. When no normal information is given, the plane must be computed using neighborhood information, which requires a lot of time to detect this neighborhood, and not always with sufficient accuracy in the estimation of the normal vector.
The UK patent application GB 2 355 789, with title “Surface registration” (Tricorder Technology plc) describes a method for aligning two three-dimensional surfaces by associating correspondence points on the surfaces, a point on one surface (real surface) is associated with a point on the second surface (reference surface) by projecting the first point to a slope discontinuity on the second surface. Said method uses a point-to-triangle matching as a more sophisticated version of the ICP algorithm.